package com.starry.module.system.core.oauth2.authorization.third;

import com.starry.module.system.core.oauth2.entity.Oauth2ThirdClient;

/**
 * 第三方客户端工厂
 *
 * @author xiaoke
 */
public interface ThireClientFactory {

    /**
     * 根据第三方客户端code获取第三方客户端
     *
     * @param code 第三方客户端code
     * @return 第三方客户端
     */
    ThireClient getClient(String code) throws Exception;

    /**
     * 重新加载第三方客户端
     *
     * @param oauth2ThirdClient 客户端信息
     */
    void reloadClient(Oauth2ThirdClient oauth2ThirdClient) throws Exception;

}
